查看原文
其他

基于 Apache Kylin 的微博舆情实时分析(内含 Demo)

俞霄翔 apachekylin 2022-04-23

通过 Real-time OLAP,Kylin v3.0 能够对接 Kafka 数据源,并且实现秒级的数据查询延迟。从 v3.0.0-alpha 发布到现在,世界范围内已有一些社区用户试用该特性并且提出意见,并且开发者在不断修复问题和提升易用性。Kyligence大数据工程师俞霄翔将通过一个 Demo,来演示如何实际使用 Real-time OLAP,并且会在配置过程中讲解重要的技术点, 帮助大家深入了解 Real-time OLAP。


应用场景

首先介绍一下这个演示的业务场景,我们希望为市场部门提供自助化微博舆情数据分析系统。通过分析大家实时关注的焦点,为市场部门提供一个非常快捷准确的热点信息来源,有助于实现快速的实时热点营销。


设计

这个应用的设计主要分为四块内容:数据源、预处理、数据分析、BI 展示。数据源使用微博爬虫获取微博文本内容;预处理是使用百度 NLP 文本分析 API,通过 NLP,我们可以实现中文文本分词、词性识别和命名实体识别;数据分析这部分基于 Kylin v3.0,通过 Streaming Receiver 摄入的实时数据部分,和 HBase Region Server 的历史数据部分的结合来获取完整的数据分析结果;BI 展示通过 Apache Superset 丰富的图表来展示分析结果。


数据转化

我们接下来看数据流向, 首先爬虫抓取的是一条条新浪微博的数据,这里面可能有各式各样词汇,我们会通过百度 NLP 把文本进行切词和标注。通过词性和类别,我们会找到我们感兴趣的内容,比方说明星、企业。然后我们可以把各种各样关键词进行多维分析,得到可视化结果。


整体架构

我介绍一下我比较关注的 Real-time OLAP 特性:

  1. 秒级数据延迟,这非常重要,Receiver 一摄入消息,就会放到内存里面,数据立刻就可以被查询到。

  2. 为了加速查询性能,Receiver 端的数据使用压缩和列式存储,有利于数据的过滤和扫描。

  3. 数据的状态演变,从进入 Receiver 到变为 Immutable,上传到 HDFS,最终进入 HBase,整个状态都是你通过配置参数控制,以后不需要管理,非常自动化。

  4. Lambda 模式:Receiver 在实时摄入 Kafka 消息同时,用户可以通过 ETL 程序(例如 Spark Streaming)来清洗数据并且写入 Hive,然后用户根据需求用 Hive 数据刷新你通过 Kafka 数据构建的 Segment,通过这点可以用于修正 Kafka 数据中某些维度和度量不符合业务需求的问题。


在演示过程中, 我会演示以下三点:

  1. 如何创建和设计 Streaming Cube ,以及如何启动数据摄入。

  2. 如何使用 Superset 连接 Kylin,并且创建热点人物词云图。 

  3. 如何对 Streaming Receiver 集群进行水平扩容, 来应对消息摄入速率大量增长的情况。



△ 演示视频


点“阅读原文”获取Realtime OLAP的技术细节和整体架构

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存